package com.open.system.service;

import com.open.common.model.Page;
import com.open.base.model.Role;

import java.util.List;

/**
 * 角色信息
 *
 * @author 大树03
 * @date 2025-02-01 22:55
 */
public interface IRoleService{

    /**
     * 添加对象
     * @param model
     * @return boolean
     * @
     * @date 2025-02-01 22:55
     */
    Boolean save(Role model) ;

    /**
     * 修改对象
     * @param model
     * @return boolean
     * @
     * @date 2025-02-01 22:55
     */
    Boolean update(Role model) ;

    /**
     * 批量添加对象
     * @param models
     * @return boolean
     * @date 2025-08-14 16:02
     */
    Boolean batchSave(List<Role> models);

    /**
     * 批量修改对象
     * @param models
     * @return boolean
     * @date 2025-08-14 16:02
     */
    Boolean batchUpdate(List<Role> models);

    /***
     * 根据主键查询
     *
     * @param pk 主键
     * @return Role
     * @
     */
    Role findByPk(Long pk) ;

    /**
     * 根据条件查询记录数
     *
     * @param item
     * @return Integer
     * @
     */
    Integer countByModel(Role item) ;

    /**
     * 分页查询
     *
     * @param page
     * @param model
     * @return
     * @
     */
    Page<Role> findPage(Page<Role> page, Role model);

    /**
     * 根据条件查询
     *
     * @param model
     * @return
     * @
     */
    List<Role> findByModel(Role model);

    /**
     * 根据主键删除
     *
     * @param pks
     * @return boolean
     * @
     */
    Boolean remove(List<Long> pks) ;

    //根据用户id查角色
    List<Role> findByUserId(Long userId);
}